package com.yykj.tencent.im.server.service;

import com.yykj.tencent.im.server.bean.request.*;
import com.yykj.tencent.im.server.bean.response.*;
import lombok.SneakyThrows;

import java.util.List;

/**
 * 账号管理
 */
public interface AccountService {

    /**
     * 生成UserSig
     * @param identifier 用户ID
     */
    String getUserSig(String identifier);

    /**
     * 导入单个帐号
     */
    AccountImportResult accountImport(AccountImportRequest accountImportRequest);

    /**
     * 导入多个帐号
     */
    MultiAccountImportResult multiAccountImport(MultiAccountImportRequest multiAccountImportRequest);


    /**
     * 删除帐号
     */
    AccountDeleteResult accountDelete(List<String> userIds);

    /**
     * 查询帐号
     */
    AccountCheckResult accountCheck(List<String> userIds);

    /**
     * 失效帐号登录状态
     */
    KickResult kick(String userId);

    /**
     * 查询帐号在线状态
     */
    QueryOnlineStatusResult queryOnlineStatus(QueryOnlineStatusRequest queryOnlineStatusRequest);


    PortraitGetResult portraitGet(List<String> imIds);
}
